
         ==========================================================
         |             Jet Set Emily: Baby on the Go              |
         |               by Steve Worek (Doctor Who)              |
         |              Final Edition, December 2006              |
         ==========================================================


"Jet Set Emily: Baby on the Go" is a redesign of Matthew Smith's classic ZX Spectrum game "Jet Set Willy". It is meant to be played on a PC computer (or a game console, or another device) using a ZX Spectrum emulator capable of handling TAP format files. Theoretically, you could also play it on an real Spectrum if you manage to transfer it to tape. 

----------------------------------------------------------------------

I. History

"Jet Set Emily" was first released in 2002 (please see the file "Emily - Original.txt" for details). The Special Edition, created in 2004, was released by Steve Worek in early 2005. It featured significantly-developed graphics, but it contained (contrary to the original edition) critical bugs which made it impossible to complete.

On 30 March 2006 Steve Worek announced in the Yahoo! Jet Set Willy / Manic Miner Club that he would not continue his work on the game, and he declared it abandonware (message # 5769; Club message number "#" can be found at: http://games.groups.yahoo.com/group/manicminerandjetsetwilly/message/# , hence:
http://games.groups.yahoo.com/group/manicminerandjetsetwilly/message/5769).

On 31 March 2006 Daniel Gromann volunteered to finish "JSE" and make it fully completable (message # 5770).

On 2 April 2006 Andrew Broad offered a number of important comments concerning possible improvements (message # 5771).

On 3 April 2006 Steve Worek approved of Daniel's idea of finishing the game, saying: "You are welcome to edit 'Jet Set Emily' to whatever means you feel necessary" (message # 5777).

In the following months Daniel worked on the game, not only eliminating bugs, but also introducing new rooms and various other improvements.

The final version of the game was approved by Steve Worek and released in December 2006.

----------------------------------------------------------------------

II. Acknowledgements and Credits

The Final Edition of "Jet Set Emily" was created using John Elliott's Jet Set Willy games editor JSWED v. 2.2.9.

A significant part of Andrew Broad's ideas expressed in the Club message # 5771 were incorporated into the game.

J. G. Harston's extension of the JSW game engine, which allows to have more than the standard 64 rooms, was applied (http://mdfs.net/Software/JSW/JGH/). Thanks to this the total number of rooms was increased to 71.

9 new rooms were added to the game, including modified versions of 2 rooms designed by Steve Worek and included in earlier versions of the game, and 7 rooms designed by Zoran Miladinov (modified by Daniel Gromann).

Steve Worek's additional rooms are: "Building Castles in the Sky" (058) and "Loving Every JSW Room Ever Made!" (107 - formerly called "Shiggity Shiggity Shiggity Shwa").

Zoran Miladinov's rooms are: "The Lost Expedition" (009), "The Purple Cave" (010), "The Lonely Green Hill" (029), "The Art of Survival" (031), "Follow Your Brain, not Heart!" (034), "Thunderstruck" (056) and "The Jumping Hall" (087).

John Elliott's teleporter extension was implemented in the game (http://www.seasip.demon.co.uk/Jsw/jswtel.html). It was modified manually, thanks to the information given by Andrew Broad in the Technical Notes accompanying his game "Jet Set Willy: The Lord of the Rings".

One new sprite by Zoran Miladinov (e.g.: the red guardian in "The Lonely Green Hill") and one new sprite by Adam Britton (e.g.: the red guardian in "Follow Your Brain, not Heart!") were added to the game.

Richard Hallas's document "A Miner Triad" was a valuable aid in restructuring the music (http://www.hallas.net/Software/music.htm).

----------------------------------------------------------------------

III. Notable Features

The final version of "Jet Set Emily: Baby on the Go" is the first game based on the JSW48 game engine to feature the ATTRACT MODE. It comes after the title-screen tune if you don't press any key. During the presentation the player sees 60 rooms (including  2 which are seen twice) and has split-second glimpses of 3 other rooms (you can have a good look at them if you pause the emulator). Willy does not get killed at any time, so you see the rooms in all their splendour.

The game makes a very good use of the 48K memory. It is the second new, gamma-released JSW48 game to feature more than 64 rooms. In fact, it has 71 FULLY-DESIGNED ROOMS and a logical, easy-to-map layout.
In addition to the increased number of rooms, the game also features teleportation and a manually-hacked title screen.

The game has one instance of the "double-items effect" - in the opening room ("Emily's Bedroom" - 043) you see two items which are impossible to collect. However, you collect *precisely these items*  - the same ones - in the room "Loving Every JSW Room Ever Made!" (107). This is possible thanks to the application of J. G. Harston's extension to the JSW48 game engine /without/ modifying the code that deals with the item table so that it would allow 7-bit room numbers.

In several rooms the player has to make jumps / solve puzzles based on the so-called quirky features (QF) of the game engine.

There are 256 items to collect. All rooms need to be visited in order to complete the game successfully. One room is only accessible via teleportation.

The game can be completed without losing a single life. During the final playtesting it was finished with a toilet-time of 8.34 am.

----------------------------------------------------------------------

IV. Technical Notes

Manual hacking of the JSW48 game engine can be done easily in JSWED's Hex editor (in both current versions of JSWED: 2.2.9 and 2.3.1). All of the addresses and values given below are hexadecimal.

In the final version of "Jet Set Emily" the game engine has some modifications typical of the Softricks JSW Editor Mark II (used by Steve Worek in creating the original edition of the game). John Elliott explains the standard changes made by the Softricks editor on his website (http://www.seasip.demon.co.uk/Jsw/softricks.html) - parts of his explanations are used below. "Jet Set Emily" has some of these modifications, while others have been eliminated or their code has been moved elsewhere (see details below). 

J. G. Harston's extension to the JSW48 game engine (http://mdfs.net/Software/JSW/JGH/) allowed it to use 7-bit room numbers instead of 6-bit ones. In general, the rooms are mapped to the following areas of memory: rooms 000-063 - #C000 - #FFFF ; rooms 064-127 - #8000 - #BFFF.

In "Jet Set Emily" 62 rooms (000-061) are found in the #C000 - #FDFF range (like in the original "JSW"). The memory range #FE00 - #FFFF, normally occupied by rooms 062 and 063, is occupied by the item tables moved by the Softricks editor from #A400 - #A5FF.
The remaining 9 rooms (070, 087, 091, 094, 104, 105, 106, 107, 115) are scattered in the #8600 - #B3FF range (see below for details).

J. G. Harston's suggestion of extending the item table so that the code that deals with it would allow 7-bit room numbers was /not/ applied. This created the "double items" effect (rooms 0+x appear to have the same items in them as rooms 64+x) visible in "Emily's Bedroom" (043) [two items impossible to collect] and "Loving Every JSW Room Ever Made!" (107 = 64+43) [you can collect the above two items there].


The following modifications were applied in the final edition of "Jet Set Emily":


1) #8141 - #81A7

Formerly: Unused.
Currently: Part of the code which draws additional elements on the title screen.

The command at #8188 - #818A makes the program jump to #96F4, where it continues with the creation of the title screen.
The addresses #818B - #81A7 contain the title-screen text "JET SET EMILY: BABY ON THE GO".


2) #81A8 - #81FF

Formerly: Unused.
Currently: Teleporter extension, defining 3 teleporters (with 1 spare byte at the end). 


3) #8405 and #8408 (values changed to "87" and "CA", respectively)

The memory used by the start-up password protection was released (including the password text, password code, sprite and screen data and password data), which allowed the use of this memory for extra code and extra room definitions.


4) #858B - #85CA

Formerly: Security (password) messages.
Currently: In-game tune.

[The command at #8B4D - #8B4F points to where the in-game tune is located in memory.]


5) #85FB - #85FF

Formerly: Beginning of the title screen tune.
Currently: 5 spare bytes, filled with the message "JSW4U" :-) .


6) #8600 - #86FF

Formerly: Title screen tune (#8600 - #865E), in-game tune (#865F - #869E) and the beginning of the security (password) code (#869F - #86FF).
Currently: Room data for room 070 ("The Driveway at Dusk").


7) #8700 - #8763

Formerly: Security (password) code.
Currently: Title screen tune.

[The command at #88A8 - #88AA points to where the title screen tune is located in memory].


8) #8764 - #87B1	

Formerly: Security (password) code.
Currently: The code to provide attract mode.

The code comes from the Softricks editor. Normally it is placed between #979B and #97E8. The value of the address #87A0 was changed from "01" to "CD", so that the attract mode code reinstates the value "CD" (instead of "01", as in the original "Jet Set Willy") at the address #8B70, so that the teleporter subroutine gets called.


9) #87B2 - #87C9

Formerly: Security (password) code.
Currently:  Title-screen message text "* Press ENTER to Start *".


10) #8801 (value changed from "A4" to "FE")

The item table moves from #A400 to #FE00.

[This is a standard Softricks editor modification]


11) #8828 - #8840

Formerly: "Press ENTER to Start" box (#8828 - #8834) and the code to print the "Press ENTER to Start" message (#8835 - #8840).
Currently: Part of the code which draws additional elements on the title screen.

The command at #883D - #883F makes the program jump to #8141, where it continues with the creation of the title screen.


12) #88F3 (value changed from "E0" to "FF")

The length of the scrolling message is increased so it includes the following "Items collected" message as well. This is part of the attract mode and a standard Softricks editor modification.


13) #88F9 - #88FB

After the message has finished scrolling, jump to the attract mode rather than restart the title screen. This is a standard Softricks editor modification.


14) #8915 (value changed from "F6" to "EE")

J. G. Harston's extension allowing the game engine to use 7-bit room numbers instead of 6-bit ones.


15) #892E - #892F

The instruction RES 7,L has been replaced with two NOPs. This causes the guardian table to be treated as 8 pages rather than 4, doubling the number of guardians in the game.


16) #8A36 (value changed from "79" to "78")

The time string was moved one character to the left (so that there is a space between the "m" of "a/pm" and the edge of the screen).
It was done thanks to the information given by Andrew Broad in the Technical Notes accompanying his game "Goodnite Luddite".


17) #8B70 (value changed from "01" to "CD")

The teleportation subroutine is called, located at #81A8 - #81FF. 


18) #8F1B (value changed from "E7" to "EF")

The item table is now at #FE00; the item count is at #83FF [a standard Softricks editor modification].


19) #956A - #956B and #9570 - #9571

The colour of Maria was changed to BRIGHT green.


20) #95B3 (value changed from "A6" to "9F")

The page for the toilet sprite is now #9F, not #A6 [a standard Softricks editor modification].


21) #95BF and #95C0

The colour of the toilet (the toy box) was changed to BRIGHT yellow.


22) #9657 (value changed from "1D" to "30")

The flying-pig sprite is Willy's sprite in room 048 rather than 029.


23) #96F4 - #96FF

Formerly: Unused reset code [in Softricks mode replaced by what appears to be random data].
Currently: The rest of the code which draws additional elements on the title screen.

At the end of this task, the command at #96FD - #96FF makes the program jump to the address #8841 to continue with the creation of the title screen.


24) #9700 - #97FF

Formerly: Unused reset code [in the standard Softricks mode, #979B - #97E8 contains the code to provide attract mode].
Currently: Room data for room 087 ("The Jumping Hall").


25) #9B00 - #9BFF

Formerly: Spites and attributes for password entry.
Currently: Room data for room 091 ("A Real Platform Game").


26) #9E00 - #9EFF

Formerly: Password codes (data).
Currently: Room data for room 094 ("The Attic Seems out of Place").


27) #9F00 - #9FFF

Formerly: Unused.
Currently: Sprite page for the toilet sprite and another sprite.


28) #A400 - #A5FF

Formerly: Item pages [in the original JSW].
Currently: Guardian pages.

[This is a standard Softricks editor modification]


29) #A600 - #A6FF

Formerly: Toilet sprite page [in the original JSW, followed by some other data].
Currently: Guardian pages.

[This is a standard Softricks editor modification]


30) #A700 - #A7FF

Formerly: Unused.
Currently: Guardian pages.

[This is a standard Softricks editor modification].


31) #A800 - #A8FF

Formerly: Unused.
Currently: Room data for room 104 ("A Nice Chat in My Back Room").


32) #A900 - #A9FF

Formerly: Unused.
Currently: Room data for room 105 ("A Secluded Back Hallway").


33) #AA00 - #AAFF

Formerly: Unused.
Currently: Room data for room 106 ("the dining room has grown dim").


34) #AB00 - #ABFF

Formerly: Sprite page.
Currently: Room data for room 107 ("Loving Every JSW Room Ever Made!").


35) #B300 - #B3FF

Formerly: Sprite page.
Currently: Room data for room 115 ("Nomen Scooby").


36) ##FE00 - #FFFF

Formerly: Room data for rooms 062 and 063 [in the standard JSW48 game engine].
Currently: Item tables.

[This is a standard Softricks editor modification]

----------------------------------------------------------------------

V. Package Contents

The ZIP file in which this file is included should contain:

- The file "Jet Set Emily 2006 (Final Edition).tap" - this is the final version of the game.

- The file "Former Editions.zip", containing "Jet Set Emily 2002 (Original Edition).tap" and "Jet Set Emily 2004 (Special Edition).tap" - these are the previous editions of the game, designed entirely by Steve Worek, converted to the TAP format (in case of the former) and bug-fixed (in case of the latter). Both versions of the game can be completed without losing a single life.

- The file "Evolution.zip", containing several Z80, ZXS and TAP format files - these are the earlier versions of the game, depicting Steve Worek's progress on the project.

- The file "Jet Set Emily - Original.txt" - Steve Worek's Readme file accompanying the original and special editions (the file has been renamed, but is otherwise unchanged).

- The file "Jet Set Emily Map.pdf" - this is a text-based map of the final version of the game in PDF format.

- The file "Jet Set Emily - The Quirky Spoiler LQ" - a document in PNG format which shows Willy's proper positioning for many difficult jumps throughout the game, especially the ones which involve the so-called quirky features (QF) of the game engine. This document should help people unfamiliar with QF to negotiate their way to the completion of the game.
The ZIP file contains a lower-quality version of "The Quirky Spoiler". You can download a higher-quality version from "Jet Set Emily"'s homepage (see below). 

- The file "Unused Ad.zip" - this is an unused piece of advertisement for the Special Edition of the game, created by Steve Worek.

----------------------------------------------------------------------

VI. Final Remarks

At the time of release of the final edition of "Jet Set Emily: Baby on the Go" Steve Worek can be reached at: knawdas@hotmail.com , and Daniel Gromann can be reached at: jetsetdanny@yahoo.com .

"Jet Set Emily"'s homepage can be found at http://xa.bi/jsw . It is also a homepage of a number of other fine games by various authors. 

If you get into trouble, complete solutions of all versions of the game (2002 - Original Edition, 2004 - Special Edition and 2006 - Final Edition) can be downloaded from there, or from The RZX Archive (www.rzxarchive.co.uk). You will need an emulator capable of handling RZX format files in order to be able to watch them.

You can also e-mail either of us, and you will soon receive a reply with the solution :-) . As a matter of fact, it will be very rewarding for us to know that you have played "Jet Set Emily", so please, do let us know about it - even without any specific comments :-) . The biggest gratification and encouragement for anyone designing free games is to know that someone else has played them!
:-)

So play, enjoy and share! :-)

December 2006

----------------------------------------------------------------------

Version History:

8 December 2006 - Initial release of "Jet Set Emily: Baby on the Go" Final Edition on the Internet.


13 February 2007 - Release of the bug-fixed version; the only modification in relation with the original release is the change in the start position of the arrow in "dark yet welcoming" (030), which eliminates an infinite-death scenario when entering the room from the left.


14 February 2007 - Release of the second bug-fixed version; the bug which caused the disappearance of the teleporter was eliminated thanks to the explanations and advice given by Andrew Broad.

